﻿
Public Class Organizzatore

    Public Property PK_Organizzatore As Integer

    Public Property FK_Anagrafica As Anagrafica

    Public Property FK_Indirizzo As Indirizzo

    Public Property SitoWeb As String

    Public Property imgLocaleString As String

    'Public Property imgLocaleArray() As String

    Public Property Deleted As Boolean

    Public Enum TipoLocale
        ristorante = 1
        ristobar
        pub
        discoteca = 4
        proloco
        organizzatoreDiEventi
        fiera = 7
        pizzeria
        bar
        enteBenefico = 10
        museo
        CentroCommerciale
        Parrocchia = 13
        Cinema = 14
        Etnico
        Trattoria
        generico = 100
    End Enum

    Public Property GiornoChiusura As Integer


    Public intTipoLocale As Integer

    Public Property enTipoLocale As TipoLocale
        Set(value As TipoLocale)
            intTipoLocale = CInt(value)
        End Set
        Get
            Return intTipoLocale
        End Get
    End Property

    Public Shared Function LoadFromPk(objpk As Integer) As Organizzatore
        Dim Org As New Organizzatore
        Dim sql As String = " SELECT O.*, A.PK_Anagrafica, I.PK_Indirizzo " & _
                            " FROM Organizzatore O INNER JOIN Anagrafica A ON O.FK_Anagrafica= A.PK_anagrafica " & _
                            " INNER JOIN Indirizzo I ON O.FK_Indirizzo = I.PK_Indirizzo " & _
                            " WHERE O.Deleted = 0 AND PK_Organizzatore = " & objpk
        Dim ds As New DataSet
        Dim dbO As New DBObject
        ds = dbO.FillDS(sql, Nothing, 1)
        If Not IsNothing(ds) AndAlso Not IsNothing(ds.Tables) AndAlso ds.Tables.Count > 0 AndAlso ds.Tables(0).Rows.Count > 0 Then
            Org.PK_Organizzatore = objpk
            Org.FK_Anagrafica = New Anagrafica
            Org.FK_Anagrafica.LoadFromPk(ds.Tables(0).Rows(0).Item("FK_Anagrafica").ToString)
            Org.FK_Indirizzo = New Indirizzo
            Org.FK_Indirizzo.LoadFromPk(ds.Tables(0).Rows(0).Item("FK_Indirizzo").ToString)
            Org.SitoWeb = ds.Tables(0).Rows(0).Item("SitoWeb").ToString

            If Not IsDBNull(ds.Tables(0).Rows(0).Item("GiornoChiusura")) Then
                Org.GiornoChiusura = ds.Tables(0).Rows(0).Item("GiornoChiusura")
            End If

            If Not IsDBNull(ds.Tables(0).Rows(0).Item("intTipoLocale")) Then
                Org.enTipoLocale = ds.Tables(0).Rows(0).Item("intTipoLocale")
            End If
            If Not IsDBNull(ds.Tables(0).Rows(0).Item("imgLocaleString")) Then
                '  Org.imgLocaleArray = ds.Tables(0).Rows(0).Item("ImgLocale").split(";")
                Org.imgLocaleString = ds.Tables(0).Rows(0).Item("imgLocaleString")
            End If
            Return Org
        End If
        Return Nothing
    End Function

    Public Shared Function CancellaOrganizzatore(PK_organizzatore As Integer) As Boolean

        If PK_organizzatore = 0 Then
            Return False
        Else
            Dim dbo As New DBObject
            Dim sql As String = "UPDATE Organizzatore SET " & _
                                " Deleted= '" & True & "'" & _
                               " WHERE PK_organizzatore = " & PK_organizzatore

            If dbo.ExecuteNonQuery(sql, Nothing, CommandType.Text) > 0 Then

                Return True
            Else
                Return False
            End If

        End If

    End Function

    Public Function salva() As Boolean

        Dim dbo As New DBObject
     

        FK_Indirizzo.PK_Indirizzo = FK_Indirizzo.Salva()
        FK_Anagrafica.PK_Anagrafica = FK_Anagrafica.Salva()

        Dim sql As String = "UPDATE Organizzatore SET " & _
                            " SitoWeb= '" & SitoWeb.Replace("'", "''") & "'" & _
                            " ,FK_Indirizzo= " & FK_Indirizzo.PK_Indirizzo & _
                            " ,FK_Anagrafica= " & FK_Anagrafica.PK_Anagrafica & _
                            " ,imgLocaleString= '" & imgLocaleString & "'" & _
                            " ,intTipoLocale= " & intTipoLocale & _
                            " ,giornoChiusura= " & GiornoChiusura & _
                            " WHERE PK_Organizzatore = " & PK_Organizzatore

        If dbo.ExecuteNonQuery(sql, Nothing, CommandType.Text) > 0 Then

            ' Throw New Exception(sql)
            Return True
        Else
            Return False
        End If

    End Function

End Class
